//
//  MFWHttpParametersBuilder.h
//  MFWSdk
//
//  重新组装请求参数为s={"data":{}, sign:""}
//
//  Created by Song Xiaofeng on 13-8-6.
//  Copyright (c) 2013年 Mafengwo Inc. All rights reserved.
//

#import <Foundation/Foundation.h>

extern NSString *const kComposeParmameterName;

@interface MFWHttpParametersBuilder : NSObject

/**
 *	对原始参数添加公共参数
 *
 *	@param	parameterDic	out parameter which will contains public parameters when returned
 *
 *	@return	Success or not
 */
+ (BOOL)getPublicParameterFilledDictionary:(NSMutableDictionary*)parameterDic;

/**
 *	对参数进行内部业务签名，并添加公共参数
 *  最后得到形如 s => {"data":{}, "sign":""} ,其中sign可选，
 *  当serviceSecret为空时，不做签名，此时没有sign, 结果为 s => {"data":{}}
 *
 *	@param	originalParams	原始参数字典
 *	@param	shouldFillPublicParameters	是否需要向原始参数字典里添加公共参数
 *	@param	serviceSecret	业务签名密钥，可以为空
 *
 *	@return	组装后的参数字典其中只有一个参数 s => {"data":{}, "sign":""}
 */
+ (NSMutableDictionary*)composeParameterS:(NSDictionary*)originalParams
                 autoFillPublicParameters:(BOOL)shouldFillPublicParameters
                        serviceSignSecret:(NSString*)serviceSecret __attribute((deprecated("'s' is not used")));

/**
 *	同 [MFWHttpParametersBuilder composeParameterS:orignalParams autoFillPublicParameters:shouldFillPublicParameters serviceSignSecret:nil]
 *
 */
+ (NSMutableDictionary*)composeParameterS:(NSDictionary*)originalParams
                 autoFillPublicParameters:(BOOL)shouldFillPublicParameters __attribute((deprecated("'s' is not used")));

/**
 *  *	同 [MFWHttpParametersBuilder composeParameterS:orignalParams autoFillPublicParameters:YES]
 */
+ (NSMutableDictionary*)composeParameterS:(NSDictionary*)originalParams __attribute((deprecated("'s' is not used")));

@end
